#pragma once
#include "../board/Board.h"
#include "../checkers/PiecePosition.h"
#include "Path.h"



// Who I'm finding paths for
// Data:
//		Starting Space
//		<path<path points>>
class AIPathFinder
{
public:
	AIPathFinder(int player, Board* board);
	virtual ~AIPathFinder(void);

	vector<Path*> GetPaths() { return moves;}

private:
	Board gameBoard;
	int playerID;
	int secondaryPlayerID;
	vector<Path*> moves;

	void FindPaths();
	bool MoveAllowed(int pieceType, int x1, int y1, int x2, int y2);
	bool VerifyDirection(int pieceType, int y1, int y2);
	void GetMoveList(Path* startingPoint, vector<PiecePosition*> &newPaths);
	void GetJumpList(Path* startingPoint, vector<PiecePosition*> &newPaths);
	void SortMovesOnPriority();
};
